Tailoring Software Pipelining for Effective Exploitation of Zero Overhead Loop Buffer
نویسنده
چکیده
منابع مشابه
Software Pipelining of Nested Loops
Software pipelining is a technique to improve the performance of a loop by overlapping the execution of several iterations. The execution of a software-pipelined loop goes through three phases: prolog, kernel, and epilog. Software pipelining works best if most of the time is spent in the kernel phase rather than in the prolog or epilog phases. This can happen only if the trip count of a pipelin...
متن کاملImpact of ILP-improving Code Transformations on Loop Buffer Energy
For multimedia applications, loop buffering is an efficient mechanism to reduce the power in the instruction memory of embedded processors. In particular, software controlled clustered loop buffers are very energy efficient. However code transformations needed in VLIW compilers to reach a higher ILP potentially may have a large negative influence on the energy consumed in the instruction memori...
متن کاملResource Directed Loop Pipelining: Exposing Just Enough Parallelism
Many techniques have been proposed for exploiting instruction-level parallelism, ranging from the optimal and expensive but ignoring resource constraints, to various forms of introducing resource constraints. One of the most aggressive of these techniques is resource-constrained software pipelining (RCSP). RCSP works by repeatedly scheduling successive iterations of a loop in parallel until the...
متن کاملA high performance parallelization scheme for the Hessenberg double shift QR algorithm
We propose a new parallelization scheme for the Hessenberg double shift QR algorithm. Our scheme allows software pipelining and communication latency hiding, and gives almost perfect load balance. An asymptotic parallelizing overhead analysis shows that our scheme attains the best possible scalability of the double shift QR algorithm, and that the overheads are less than the multishift algorith...
متن کاملA Simple, Verified Validator for Software Pipelining (verification pearl)
Software pipelining is a loop optimization that overlaps the execution of several iterations of a loop to expose more instruction-level parallelism. It can result in first-class performance characteristics, but at the cost of significant obfuscation of the code, making this optimization difficult to test and debug. In this paper, we present a translation validation algorithm that uses symbolic ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003